www.gusucode.com > C++ Builder 实现艺术字体效果 > C++ Builder 实现艺术字体效果/gusucode/Unit1.cpp
//Download by http://www.NewXing.com //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "Word_2K_SRVR" #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { WordApplication1->Connect(); WordApplication1->Documents->Add()->Select(); WordApplication1->Visible=false; WordDocument1->ConnectTo(WordApplication1->ActiveDocument); WordDocument1->Shapes->AddTextEffect (Office_2k::MsoPresetTextEffect(0),Variant("编程实例精解"), Variant("隶书"),48, Office_2k::MsoTriState(-1),Office_2k::MsoTriState(0), 0,0)->Select(); ComboBox1->Items = Screen->Fonts; ComboBox1->Text="隶书"; ShowFont(); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormDestroy(TObject *Sender) { WordApplication1->Quit(Variant(false)); WordApplication1->Disconnect(); } //--------------------------------------------------------------------------- void __fastcall TForm1::ShowFont() { AnsiString t=Edit1->Text; t=t+AnsiString::StringOfChar(' ',12-t.Length()); WordDocument1->Range(EmptyParam,EmptyParam)->ShapeRange ->TextEffect->Text = Variant(t); WordDocument1->Range(EmptyParam,EmptyParam)->ShapeRange ->TextEffect->PresetTextEffect=UpDown1->Position; WordDocument1->Range(EmptyParam,EmptyParam)->ShapeRange ->TextEffect->FontName =Variant(ComboBox1->Text); if (CheckBox1->Checked) WordDocument1->Range(EmptyParam,EmptyParam)->ShapeRange ->TextEffect->FontBold=-1; else WordDocument1->Range(EmptyParam,EmptyParam)->ShapeRange ->TextEffect->FontBold=0; if (CheckBox2->Checked) WordDocument1->Range(EmptyParam,EmptyParam)->ShapeRange ->TextEffect->FontItalic=-1; else WordDocument1->Range(EmptyParam,EmptyParam)->ShapeRange ->TextEffect->FontItalic=0; WordDocument1->Range(EmptyParam,EmptyParam)->CopyAsPicture(); TMetafile *Metapic=new TMetafile(); Metapic->Assign(Clipboard()); Image1->Picture->Assign(Metapic); delete Metapic; } void __fastcall TForm1::Button1Click(TObject *Sender) { ShowFont(); } //---------------------------------------------------------------------------